/** 把一个回调方法改成promise */
function func1(callback) { // 这是一个包含回调方法的函数
  setTimeout(() => {
    callback(123);
  }, 1000)
}

/** 这个时候，直接调用func2，就编程了操作Promise这个异步方法 */
function func2() { // 对func1进行包装，实现了一个promise
  return new Promise(resolve => {
    func1(resolve);
  })
}

async function func3() {
  const func = await func2();
  console.info(func)
}
func3()
